package main

import "fmt"

func main() {
	var s string = "中国人"

	// 索引操作 ：特定索引上的字节，而不是字符
	fmt.Printf("0x%x\n", s[0]) // 0xe4，字符 '中' 的 UTF-8 编码的第一个字节
	var arr []byte = []byte{s[0], s[1], s[2]}
	fmt.Println(string(arr)) // 中

	// for 字符迭代：每次迭代得到字符串的一个字节以及字节的下标
	for i := 0; i < len(s); i++ {
		fmt.Printf("index: %d, value: 0x%x\n", i, s[i])
	}

	// for range 字符迭代：得到每个字符的 Unicode 码点值，以及该字符在字符串中的偏移值
	for i, v := range s {
		fmt.Printf("index: %d, value: 0x%x\n", i, v)
	}

}
